package com.smallA.association.mapper;

import com.smallA.association.pojo.Department;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * @author wanda
 * 社团部门的相关表操作
 */
@Mapper
@Repository
public interface DepartmentMapper {

    /**
     * 通过社团id查询部门
     *
     * @param id 社团id
     * @return 返回查询到的部门
     */
    List<Department> selectByAid(@Param("id") Integer id);

    /**
     * 查询总的报名人数
     *
     * @param id     部门id
     * @param status 要查询的状态
     * @return 返回总的报名人数
     */
    Integer selectApplyNumByStatus(@Param("id") Integer id, @Param("status") Integer status);

    /**
     * 查询总的报名人数
     *
     * @param id 部门id
     * @return 返回总的报名人数
     */
    Integer selectApplyNum(@Param("id") Integer id);

    /**
     * 通过部门信息进行注册
     */
    Integer registerByDepartment(@Param("name") String name, @Param("associationId") Integer associationId);

    /**
     * 通过部门信息来修改
     *
     * @param department
     * @return
     */
    Integer updateByDepartment(Department department);

    /**
     * 查询部门
     *
     * @param id
     * @return
     */
    Department selectById(@Param("id") Integer id);
}
